package main

import (
	"fmt"
	"strings"
	// "strings"
	// "google.golang.org/api/gmail/v1"
)

func main() {
	// // 定义string类型
	// var str1 string = "你好golang"
	// var str2 = "你好 go"
	// str3 := "你好golang"
	// fmt.Printf("%v--%T\n",str1,str1)
	// fmt.Printf("%v--%T\n",str2,str2)
	// fmt.Printf("%v--%T\n",str3,str3)
	// // 字符串的转义字符
	// str :="this\n is str"
	// fmt.Println(str)

	//输出C:Go"bi
	// str2 :="C:Go\"bin"  //  输出反斜杠
	// fmt.Println(str2)

	// 3 多行字符串
	// go语言中一次多行字符串 要用到``号
	// str1 :="this is str"

	// str1 :=`this is str
	// this is str
	// this is str
	// this is str`
	// fmt.Print("str=",str1)

	// 求字符串长度
	// len(str)求字符串长度
	// var str1 ="你好"  //6
	// fmt.Println(len(str1))
	// var str2 ="aaaa"  //6
	// fmt.Println(len(str2))

	// 拼接字符串 +或者 fmt.Sprintf 拼接字符串
	// str1 :="你好"
	// str2 :="golang"
	// // str3 :=str1+str2
	// fmt.Println(str1+str2)

	// str1 :="你好"
	// str2 :="golang"
	// str3 :=fmt.Sprintf("%v-%v",str1,str2)
	// fmt.Println(str3)

	// 
	
	// str1 :="反引号间换行将被作为字符串中的换行，但是所有的祝阿姨字符均无效"+"文本将会原样输出"
	// fmt.Println(str1)
	// // 分割字符串 strings.split
	// str2 :="1234-567-89"
	// arr :=strings.Split(str2,"-")  //打印切片
	// fmt.Println(str2,"\n",arr)

	// strings.join(a[]string,seo string)  join表示把切片连接成字符串
	// str2 :="1234-567-89"
	// arr :=strings.Split(str2,"-")  //打印切片
	// str3 :=strings.Join(arr,"*")
	// fmt.Println(str3)
	// fmt.Println(str2,"\n",arr)

	// 定义一个切片
	// arr:=[]string{"php","java","golang"}
	// fmt.Println(arr)

	// str3 :=strings.Join(arr,"-")
	// fmt.Println(str3)

	// fmt.Printf("%v--%T",str3,str3)

	// strings.contains判断是否包含
	// str :="this is str"
	// str1 :="thisxxx"
	// flag :=strings.Contains(str,str1)
	// fmt.Println(flag)

	// 前缀后缀 string.HasPrefix，strings.HasSuffix
	// str :="this is str"
	// str1 :="thisxxx"
	// flag :=strings.HasPrefix(str,str1)
	// fmt.Println(flag)

		// 后缀 strings.HasSuffix
	// str :="this is str"
	// str1 :="this"
	// flag :=strings.HasSuffix(str,str1)
	// fmt.Println(flag)

	// strings.Index(),strings.LastIndex()子串出现的位置
	// 查找返回下表位置 下标是从0开始

	// str1 :="this is str"
	// str2 :="is"
	// num1 :=strings.Index(str1,str2)
	// fmt.Print(num1)

	// 
	// str1 :="this is str"
	// str2 :="s"
	// num1 :=strings.LastIndex(str1,str2)
	// fmt.Print(num1)

	// 查找不到返回-1
	str1 :="this is str"
	str2 :="XXX"
	num1 :=strings.LastIndex(str1,str2)
	fmt.Print(num1)
	


}